package com.rockcent.mall.lib.repository;

import com.rockcent.common.common.PageResult;
import com.rockcent.common.domain.enumclass.Whether;
import com.rockcent.mall.lib.domain.MallOrder;
import com.rockcent.mall.lib.domain.enumclass.MallOrderStatus;
import com.rockcent.mall.lib.domain.enumclass.OrderStatus;
import com.rockcent.mall.lib.domain.enumclass.OrderType;
import com.rockcent.mall.lib.dto.GiftVerifyDto;
import com.rockcent.mall.lib.dto.GiftVerifyItemDto;
import com.rockcent.mall.lib.dto.MallOrderDto;

import java.util.List;

/**
 * Created by zhangjh on 2016/10/31.
 */
public interface MallOrderRepositoryCustom {
    PageResult<MallOrderDto> findByCustomerIdAndStatusNotIn(Long customerId, List<String> orderStatusList, Boolean isGift, PageResult pageResult);

    PageResult<MallOrderDto> findByCustomerIdAndStatusInPage(Long customerId, List<String> orderStatusList, PageResult pageResult);

    /**
     * 查询所有过期未支付订单
     * @return
     */
    List<MallOrder> queryAllExpiredOrder();

    PageResult<MallOrderDto> findMallBalanceAccount(String beginDate, String endDate, Long mallId, String orderNum, PageResult pageResult);

    List<MallOrderDto> mallBalanceAccountExport(String beginDate, String endDate, Long mallId, String orderNum);
    PageResult<MallOrderDto> findByCustomerIdAndStatusIn(Long id, List<String> orderStatusList, Boolean isGift, PageResult page);

    List<GiftVerifyItemDto> findProductItemsByVerifyPersonId(GiftVerifyDto verifyDto);
}
